$(function(){
    // 选择文件就实现文件的上传操作
    $('#feature').on('change',function(){
        console.log(12)
        // 金典:formdata + ajax
        // 使用Formdata收集图片数据
        // 使用ajax发起异步请求
        // 1.获取文件对象
        var myfile = document.querySelector('#feature').files[0]
        // console.log(myfile,1111)
        // 创建formdata对象
        var formdata = new FormData()
        // 在formdata中追加数据
        formdata.append('img',myfile)
        formdata.append('username',"名字叫：jackandrose")
        // 使用ajax发起请求
        $.ajax({
            type:'post',
            url:'/uploadFile',
            data:formdata,
            contentType:false, //让ajax不要进行数据的编码处理，因为我想让formdata来处理
            processData:false, // 让ajax不要进行数据的处理，因为Formdata已经处理好了
            dataType:'json',
            success:function(res){
                // console.log(res,1212121)
                if(res.code == 200){
                    // 实现预览:为img便签设置src属性，让浏览器进行解析，发起二次请求
                    $('.thumbnail').attr('src','/uploads/'+res.img).show()
                    // 讲蹄片名称存储到指定的隐藏域中、
                    $('[name="feature"]').val(res.img)
                }else{
                    $('.alert-danger > span').text(res.msg).fadeIn(500).delay(3000).fedeOut(500)
                }
            }
        })
    })

    // 动态加载分类数据
    $.ajax({
        type:'get',
        url:'/getAllCate',
        // url:'/getAllCate',
        dataType:'json',
        success:function(res){
            // console.log(res)
            // 生成分类下拉列表动态结构
            var str = `<option value="all">所有分类</option>`
            for(var i=0;i<res.data.length;i++){
                str +=`<option value="${res.data[i].id}">${res.data[i].name}</option>`
            }
            $('#category').html(str)
        }
    })

// 创造ckeditor富文本框控件替换页面中的textarea
// 他会创建一个富文本框对象
CKEDITOR.replace('content')

// 获取参数id
var id = itcast.getParameter(location.search).id
// console.log(id)
// 保存文件
$('.btnsave').on('click',function(){
    console.log(123)
    // console.log(CKEDITOR.instances.content.getData())
        // 同步数据到textarea
        CKEDITOR.instances.content.updateElement()
        // serialize:可以获取当前指定表单中所有拥有name属性的表单元素的value值
        // var data = $('form').serialize()
        // $.ajax({
        //     type:'post',
        //     url:'/addPost',
        //     data:$('form').serialize(),
        //     dataType:'json',
        //     success:function(res){
        //         console.log(res)
        //         if(res.code ==200){
        //             // 提示
        //             // 跳转
        //             location.href = '/admin/posts'
        //         }else{
        //             console.log(res.msg)
        //         }
        //     }
        // })
        if(id){
            opt('/editPostById')
        }else{
            opt('/addPost')
        }
    })

    // 实现编辑和新增
    function opt(url){
    $.ajax({
        type:'post',
        url:url,
        data:$('form').serialize(),
        dataType:'json',
        success:function(res){
            if(res.code ==200){
                // 提示
                // 跳转
                location.href = '/admin/posts'
            }else{
                console.log(res.msg)
            }
        }
    })
    }

    // 判断当前是编辑还是新增
    if(id){    //说明是编辑
        //根据id号发起ajax请求
        $.ajax({
            type:'get',
            // url:'/getPostById?id='+id,
            url:'/getPostById',
            data:{id},
            dataType:'json',
            success:function(res){
                // console.log(res)
                // 实现数据默认展示
                $('#title').val(res.data.title)
                $('#content').val(res.data.content)
                $('#slug').val(res.data.slug)
                $('.thumbnail').attr('src','/uploads/'+res.data.feature).show()
                $('#category').val(res.data.category_id)
                $('#status').val(res.data.status)
                // 图片隐藏域
                $('[name=feature]').val(res.data.feature)
                // id隐藏域
                $('[name="id"]').val(res.data.id)
                // 时间处理
                $('#created').val(res.data.created)
            }
        })
    }
})